package com.ruoyi.shopping.service.impl;

import java.util.List;

import com.ruoyi.shopping.mapper.MallProductMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.shopping.mapper.MallRegionsMapper;
import com.ruoyi.shopping.domain.MallRegions;
import com.ruoyi.shopping.service.IMallRegionsService;

/**
 * 地州管理Service业务层处理
 * 
 * @author cws
 * @date 2024-11-19
 */
@Service
public class MallRegionsServiceImpl implements IMallRegionsService 
{
    @Autowired
    private MallRegionsMapper mallRegionsMapper;

    @Autowired
    private MallProductMapper mallProductMapper;

    /**
     * 查询地州管理
     * 
     * @param id 地州管理主键
     * @return 地州管理
     */
    @Override
    public MallRegions selectMallRegionsById(Long id)
    {
        return mallRegionsMapper.selectMallRegionsById(id);
    }

    /**
     * 查询地州管理列表
     * 
     * @param mallRegions 地州管理
     * @return 地州管理
     */
    @Override
    public List<MallRegions> selectMallRegionsList(MallRegions mallRegions)
    {
        return mallRegionsMapper.selectMallRegionsList(mallRegions);
    }

    /**
     * 新增地州管理
     * 
     * @param mallRegions 地州管理
     * @return 结果
     */
    @Override
    public int insertMallRegions(MallRegions mallRegions)
    {
        return mallRegionsMapper.insertMallRegions(mallRegions);
    }

    /**
     * 修改地州管理
     * 
     * @param mallRegions 地州管理
     * @return 结果
     */
    @Override
    public int updateMallRegions(MallRegions mallRegions)
    {
        return mallRegionsMapper.updateMallRegions(mallRegions);
    }

    /**
     * 批量删除地州管理
     * 
     * @param ids 需要删除的地州管理主键
     * @return 结果
     */
    @Override
    public int deleteMallRegionsByIds(Long[] ids)
    {
//        查询是否有商品关联
        int count = mallProductMapper.selectRegionByRegionIdCount(ids);
        if (count > 0) {
            throw new RuntimeException("地区下有商品，无法删除");
        }
        return mallRegionsMapper.deleteMallRegionsByIds(ids);
    }

    /**
     * 删除地州管理信息
     * 
     * @param id 地州管理主键
     * @return 结果
     */
    @Override
    public int deleteMallRegionsById(Long id)
    {
        return mallRegionsMapper.deleteMallRegionsById(id);
    }

    @Override
    public List<MallRegions> getAllRegionsName() {
        return mallRegionsMapper.getAllRegionsName();
    }
}
